﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BLLTZS.Funcionalidad
{
    public class BLLFavorito: BLLGenerico
    {
        public BLLFavorito(TZSDataContext contexto) : base(contexto) { }
        public BLLFavorito() : this(new TZSDataContext()) { }

        public void AgregarFavorito(int idOferta, string nombreUsuario)
        {
            TZS_Favorito favorito = new TZS_Favorito();
            favorito.TZS_Oferta = new BLLOferta(Contexto).Traer(idOferta);
            favorito.TZS_Usuario = new BLLUsuario(Contexto).TraerUsuario(nombreUsuario);
            favorito.Fecha = DateTime.Now;
            Contexto.TZS_Favoritos.InsertOnSubmit(favorito);
        }

        public void RemoverFavorito(int idOferta, string nombreUsuario)
        {
            TZS_Favorito favorito = Contexto.TZS_Favoritos.Where(f => f.IdOferta == idOferta && f.TZS_Usuario.NombreUsuario.ToLower().Equals(nombreUsuario.ToLower())).FirstOrDefault();
            Contexto.TZS_Favoritos.DeleteOnSubmit(favorito);
        }

        public bool EsFavorito(int idOferta, string nombreUsuario)
        {
            return (from o in Contexto.TZS_Favoritos
                    where o.IdOferta == idOferta
                    && o.TZS_Usuario.NombreUsuario.ToLower().Equals(nombreUsuario.ToLower())
                    select o).Count() > 0;
        }
    }
}
